Conventionally, there are many kinds of software called a framework, platform, application server, program container, and the like, which are used to perform execution control of application programs on, e.g., a server of a computer system. Such software will be generally referred to as a framework hereinafter.
This framework has a so-called “lifecycle management function of an application program”. This “lifecycle management function of an application program” implements the following execution control.
installation of an application program to be executed on the framework
uninstallation of an unwanted application program
execution of an installed application program
stop of an application program which is running
updating of an installed application program, and so forth
These management methods and forms of application programs to be installed on respective frameworks are different depending on frameworks.
As typical frameworks, “The Apache Jakarta Tomcat 5.5 Servlet/JSP Container UserGuide” (Apache Project, 2004) and “OSGi Service Platform Specification Release 2” (OSGI, 2001) are known.
In “The Apache Jakarta Tomcat 5.5 Servlet/JSP Container UserGuide”, a distribution format of an application program called a WAR format is prevalent. If this WAR file is stored in a specific directory, it is recognized that a new WAR file is stored, and that file is automatically converted into an executable form, thus implementing installation. Also, an application which manages the lifecycle of an application program using this mechanism is supported, and an application program can be installed/uninstalled/started/stopped, and so forth from a remote.
In “OSGi Service Platform Specification Release 2”, a unit of application program called “bundle” is defined, and a form of a bundle file that forms this bundle is also defined. A lifecycle management function is provided for these bundles.
On the other hand, in a system called “embedded device” other than a general-purpose computer, along with an increase in speed and capacity of hardware resources of the device, technologies developed by the general-purpose computer are to be used in the embedded device in many cases.
In a server of a general-purpose computer system operators who manage hardware and software of the server have received professional educations. Therefore, even when the management method of an application program is different depending on frameworks, if it is assumed that they have skills to cope with such differences, no problem is posed.
On the other hand, in the embedded device, it is not expected in most cases that a person who has high professional skills is designated as an operator who actually manages the device.
Therefore, when the management method of an application program is different for respective frameworks, operation errors are more likely to occur due to inexperience and lack of technical knowledge. That is, the entire system is more likely to cause functional disturbance. Also, it can be hardly said that even the operator who manages the server be free of operation errors.
Also, license management, security check, and the like of application programs are often normally made at the time of installation. Therefore, if an installation method as a part of the lifecycle management method of an application program is different for respective frameworks, a plurality license management functions and security check functions must be prepared in the system. That is, the use efficiency of hardware resources undesirably lowers.
In addition, network approach paths for remote control must be open to outside for respective frameworks, and there are many routes that may allow encroachment from outside into the system. Hence, such routes may become a bottleneck in terms of security.